Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- SHIFT OPERATION



  Why are column oriented databases so much faster than row oriented databases?

I have been playing around with Hybrid Word Aligned Bitmaps for a few weeks now, and they turn out to be a rather remarkable data structure.  I believe that they are utilized extensively in modern column oriented databases such as Vertica and MonetDB. Essentially HWABs are a data structure that allows you to represent a sparse bitmap (series of 0's and 1's) really efficiently in memory.  The key trick here is the use of run length encoding to compress the bitmap into fe...

   Database,Column oriented,Speed analysis,Vertica     2012-01-29 04:27:05

  Optimization Tricks used by the Lockless Memory Allocator

With the releasing of the Lockless Memory Allocator under the GPL version 3.0 license, we can now discuss more of the optimization tricks used inside it. Many of these are things you wouldn't want to use in normal code. However, when speed is the ultimate goal, sometimes we need to break a few rules and use code that is a little sneaky.The SlabA slab is a well-known technique for allocating fixed size objects. For a given object size, a chunk of memory is divided up into smaller regions of that ...

   Optimization,Memory allocation     2011-11-16 08:02:16

  How I explained MapReduce to my Wife?

Yesterday I gave a presentation at Xebia India office on MapReduce. It really went well and audience was able to understand the concept of MapReduce (as per their feedback). So, I was happy that I did a good job in explaining MapReduce concept to a technical audience (mainly Java programmer, some Flex programmer and few testers). After all the hard work and a great dinner at Xebia India office I reached back my home. My wife (Supriya) asked me “How was your session on …ââ‚...

   Java,MapReduce,Java Flex     2011-08-28 04:22:53

  Using JavaScript to operate clipboard

Browsers allow JavaScript to read and write data on clipboard. Generally script should not modify user's clipboard to avoid impacting user expectation, but there are cases where this can indeed bring convenience to users. For example, for some code snippet, user can copy it to clipboard with one click instead of select and copy manually. There are three options for clipboard operation provided in JavaScript/browser: document.execCommand() Asynchronous Clipboard API copy and paste events This p...

   JAVASCRIPT,CLIPBOARD,NAVIGATOR.CLIPBOARD     2021-01-23 23:23:34

  GUI vs CLI: Operation vs Expression

Consider this user interface for a car:The goal of these interfaces is to make you operate something, and operate it efficiently and safely. The grooves and clicks and limits constrain the range of motion and the number of choices. The visual look heavily hints at how to actively use it. They are usually not hard to learn. More importantly, the learning curve plateaus. Once you learn how to drive a car, there’s not much progression after that. Boundedness is ...

   GUI,CLI,Operation,Expression,Programmer,IDE     2011-10-25 10:31:26

  Ways to undo wrong Git operations

While using Git to version code, programmers would inevitably perform some invalid operations which are not expected. Sometimes it's difficult to deal with this kind of awkward situations. If the programmer chooses to undo the operation, the programmer needs to bear the risk of deleting something which is not supposed to be deleted if the undo is done improperly. If the programmer leaves it as is, the file needs to be updated again manually with a new commit. In this post, we will try to pr...

   GIT,GIT COMMIT,GIT RESET     2018-07-07 03:28:21

  Bash Shell Scripting - 10 Seconds Guide

This Bash shell scripting guide is not a detailed study but a quick reference to the BASH syntax. So lets begin... Common environment variables PATH - Sets the search path for any executable command. Similar to the PATH variable in MSDOS. HOME - Home directory of the user. MAIL - Contains the path to the location where mail addressed to the user is stored. IFS - Contains a string of characters which are used as word seperators in the command line. The string normally consists of the spac...

   Bash,Shell,Linux,Tutorial,10 seconds,Shortcut key     2012-02-28 08:05:41

  Facebook will release new News Feed

According to 36Kr, Facebook sent out invitations to media to release a new version of the News Feed. This new News Feed will be released at 10 o'clock on March 7th(PST time) at the headquarters.The web version and mobile version of News Feed was updated in September 2011 and May 2012, Web version adds a dynamic display feature, if you login to Facebook per day, it will recommend popular content to you first If you frequently log in to Facebook, it will recommend the latest content. The mobile v...

   Facebook, News feed     2013-03-01 22:19:24

  Enable mouse scrolling with Apple wireless mouse on Windows PC

Today I was trying to use my Apple wireless mouse on my Windows PC, after pairing the mouse using Bluetooth, it worked fine until I noticed that I couldn't scroll browser pages properly. Tried many ways but all failed. Did some investigation online and found a workable solution. This post will share my experience. To enable mouse scrolling, there is a driver needed to be installed. First to go to Brigadier which is a Windows- and OS X-compatible Python script that fetches, from Apple's...

   APPLE,WIRELESS MOUSE,SCROLLING,WINDOWS 10     2022-10-01 01:44:37

  Simple tutorial on git cherry-pick

It is a common operation to move code from one branch to another branch in a multi-branch git repository. Normally there are two scenarios: Want to move all changes in one branch to another branch, now it's called git merge  Want to move only some change/changes from one branch to another branch, now it's called git cherry-pick Usage The purpose of git cherry-pick is to apply some change from one branch to another branch.  git cherry-pick [commitHash] The above command is to app...

   GIT,GIT CHERRY-PICK,TUTORIAL     2020-05-02 00:02:58